package ace.module.account.sdk.core.feign.impl;

import ace.cmp.core.model.R;
import ace.cmp.openfeign.security.oauth2.core.config.FeignInternalServerOauth2SecurityConfig;
import ace.module.account.api.IamOauth2Api;
import ace.module.account.sdk.core.constant.SdkConstant;
import ace.module.common.api.annotation.ApiRemoteProxyPriority;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;

/**
 * .
 *
 * @author Caspar
 */
@FeignClient(
    name = "${spring.cloud.openfeign.client.iamOauth2Feign.name:" + SdkConstant.FEIGN_SERVICE_NAME + "}",
    contextId = "iamOauth2Feign",
    path = IamOauth2Feign.PATH,
    configuration = FeignInternalServerOauth2SecurityConfig.class,
    primary = false
)
@ApiRemoteProxyPriority
public interface IamOauth2Feign extends IamOauth2Api {

  String PATH = "${spring.cloud.openfeign.client.iamOauth2Feign.path:/account/iam-oauth2/rpc}";


  @Operation(summary = "获取管理平台的超级管理员 oauth2 access token value.", description = "")
  @GetMapping("/getAdminAdministratorAccessTokenValue")
  R<String> getAdminAdministratorAccessTokenValue();
}
